早在1996年,大師Alexander Laufer教授就已經在他的著作Simultaneous Management中提到,產品的開發,其不確定性種類有二:結果不確定性,與方法不確定性。而在現今,我們還可能在某種條件下,遭遇到第三種不確定性:客戶不確定性。
傳統的瀑布式開發流程之所以在製造業好用,是在於製造業大部分同時只會面臨一種不確定性,譬如,我知道汽水現在賣得超好,小孩子都喜歡喝,但是我不確定要開發什麼樣的新口味,孩子才會買單。於是提出計畫這種事,雖然難度還是很高,但是因為不確定性的維度較小,也比較容易鎖定範圍調查。我們不諱言這樣的情況在二三十年前資訊產業剛開始發展時也是一樣的,所以瀑布式開發流程在那個時空背景是適合的。
時至今日,在資訊量暴增,資訊產品更迭快速的情況下,大部分時間,你會同時面臨到以上三種不確定性。在這個時候,預先做好調查並擬定計畫就變得困難許多了。更別說到了現在,其實有些更迭較快的製造業也漸漸面臨這樣的挑戰了。換句話說,在開發產品的初期:
我不知道能這個產品會不會賣,也不知道要用怎樣的技術去實作他,我甚至不知道我要鎖定那些客群去開發。
『不如我們且戰且走吧,先花兩個禮拜搞個超陽春prototype來試試。』於是團隊裡有個人就這樣想,並動手下去做了。兩周後,我們把CTO請來,看看這個原型,當然也順便解釋了我們的設計理念。CTO覺得主意不錯,但是功能上看起來沒那麼好用,於是要設計部出個人來幫忙,我們又這樣修了兩周,並且請CTO再進來看看。CTO看完覺得效能還可以再加強,並且跟我們提了他這兩周跟股東們提出這個idea,大家想到的新功能,於是我們又照他的意見去修改。這次,CTO直接帶了股東與行銷主管進來看,並且指示我們要盡快上線,就以現在的型態上線試試水溫。
這時,你可以想像,真的上線了應該會造成三種可能局面:
如果是1或2當然令人興奮,但如果是3呢?不要灰心,別忘了,從開始開發至今,我們只花了6周而已,就有足夠資訊判斷這樣的產品不被市場接受,這樣的沉沒成本,相對於一口氣做完所有調查與規劃,並勞師動眾地做完所有功能,又重金投了廣告才發現市場不接受還來得便宜太多太多了。
你說,當初提出這個idea的人是不是很聰明?聰明在哪?在他透過短期衝刺並快速反饋的方式,一口氣降低了前述的三種不確定性。就算結局是市場不接受,但是我們也用很快的時間與很小的成本去得到了這個確定的事實不是嗎?
你發現了嗎?這個流程,就是scrum開發流程啊!